package com.ruicar.afs.cloud.channel.common.mq.sender;

import com.ruicar.afs.cloud.channel.filetemp.entity.ComAttachementFileTemp;
import com.ruicar.afs.cloud.common.mq.rabbit.anno.send.AfsRabbitMqClient;
import com.ruicar.afs.cloud.common.mq.rabbit.anno.send.AfsRabbitMqSender;
import com.ruicar.afs.cloud.common.mq.rabbit.message.AfsTransEntity;
import com.ruicar.afs.cloud.image.vo.AttachmentDataSendVo;
import com.ruicar.afs.cloud.image.vo.ComAttachmentFileDataVo;
import com.ruicar.afs.cloud.parameter.commom.entity.VeBrand;
import com.ruicar.afs.cloud.parameter.commom.entity.VeMain;
import com.ruicar.afs.cloud.parameter.commom.vo.VeBrandVo;
import com.ruicar.afs.cloud.parameter.commom.vo.VeMainVo;

import java.util.List;

/**
 * @author Ice
 * @date 2020/8/25 15:28
 */
@AfsRabbitMqClient
public interface SenderChannelToApply {
    /**
     * 附件新增通知发送
     */
    @AfsRabbitMqSender(serverAlias = "${com.ruicar.afs.cloud.rabbitQueue.serverAlia}", queueName = "${com.ruicar.afs.cloud.rabbitQueue.queueName.channelToapply}", exchangeName = "${com.ruicar.afs.cloud.rabbitQueue.exchangeName}")
    void sendAttachmentInfo(AfsTransEntity<AttachmentDataSendVo> afsTransEntity);
    /**车型库信息
     * @author ice
     * @param
     */
    @AfsRabbitMqSender(serverAlias = "${com.ruicar.afs.cloud.rabbitQueue.serverAlia}", queueName = "${com.ruicar.afs.cloud.rabbitQueue.queueName.channelToapply}", exchangeName = "${com.ruicar.afs.cloud.rabbitQueue.exchangeName}")
    void sendSynchroBrand(AfsTransEntity<VeBrandVo> afsTransEntity);
    /**车型库信息
     * @author ice
     * @param
     */
    @AfsRabbitMqSender(serverAlias = "${com.ruicar.afs.cloud.rabbitQueue.serverAlia}", queueName = "${com.ruicar.afs.cloud.rabbitQueue.queueName.channelToapply}", exchangeName = "${com.ruicar.afs.cloud.rabbitQueue.exchangeName}")
    void sendSynchroMain(AfsTransEntity<VeMainVo> afsTransEntity);
    /**影像件信息
     * @author ice
     * @param
     */
    @AfsRabbitMqSender(serverAlias = "${com.ruicar.afs.cloud.rabbitQueue.serverAlia}", queueName = "${com.ruicar.afs.cloud.rabbitQueue.queueName.channelToapply}", exchangeName = "${com.ruicar.afs.cloud.rabbitQueue.exchangeName}")
    void sendWitnessFile(AfsTransEntity<ComAttachmentFileDataVo> afsTransEntity);
}
